package cn.ecut;

import java.sql.*;

/**
 * @author lujiapeng
 * @className JDBC04
 * @description 使用PreparedStatement 对象
 * @date 2020/9/7 14:43
 **/
public class JDBC04 {
    public static void main(String[] args) throws Exception{
        // 加载驱动
         Class.forName("com.mysql.cj.jdbc.Driver");
        // 获取连接
        String url = "jdbc:mysql://localhost:3306/ecut?serverTimezone=Asia/Shanghai" ;
        String username = "root" ;
        String password = "root" ;
        Connection connection = DriverManager.getConnection(url , username , password ) ;
        // 获取 Statement / PreparedStatement / CallableStatement 对象
        // PreparedStatement 与 CallableStatement 都是 Statement 的 子接口，那么就会继承其中的所有方法
        // 通过 connection 获取 prepareStatement 对象的时候，就已经将 指定的SQL 语句，发送到 数据库了，并进行了编译 。
        // 使用 英文 问号，作为 占位符 ，表示 对 参数的占用
        String SQL = "delete from country where id = ? " ;
        PreparedStatement preparedStatement = connection.prepareStatement(SQL);

        // 填充参数
        preparedStatement.setInt( 1,34 );
        // 执行数据
        int i = preparedStatement.executeUpdate();
        
        preparedStatement.setInt(1 , 32);
        int j = preparedStatement.executeUpdate();
        System.out.println( i  );
        System.out.println( j  );
        // 关闭资源
        connection.close();
    }
}
